import { reqSearchList } from "@/api/index"
const state = {
  searchData: {},
}

const actions = {
  // 异步
  // 请求search页面数据
  async getSearchArrayData({ commit }, params) {
    const result = await reqSearchList(params)
    commit("GET_SEARCH_LIST_DATA", result.data)
  },
}
const mutations = {
  // 同步
  // 获取search页面的全部数据,并存入store
  GET_SEARCH_LIST_DATA(status, payload) {
    status.searchData = payload
    console.log("重新发请求了", payload)
  },
}

const getters = {
  // vuex中的计算属性
  // 由于在组件search中返回的数据过于复杂,需要在vuex中进行处理精简一下
  // 方便后续使用
  // 1. 商品列表
  goodsList(state) {
    return state.searchData.goodsList
  },
  // 2. 品牌列表
  attrsList(state) {
    return state.searchData.attrsList
  },
  // 3. 属性列表
  trademarkList(state) {
    return state.searchData.trademarkList
  },
  // 总数据
  totalList(state) {
    return state.searchData.total
  },
}

export default {
  // 开启模块化后,需要开启命名空间
  namespaced: true,
  state,
  actions,
  mutations,
  getters,
}
